package com.bird.设计模式.结构型.享元模式;

/**
 * @data 2022/3/15 16:14
 * @author: bird
 * @description: 验证 享元模式
 */
public class Test {

    private static final String departments[] = {"RD", "QA", "PM", "BD"};

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            String department = departments[(int) Math.random() * departments.length];
            Employee manager = EmployeeFactory.getManager(department);
            manager.report();
         Integer a =new Integer(20);
        }

    }
}

/*
* 总结：
* 1: 什么是享元模式
*     享元模式的关注点是 共享。

*
* 2: 什么情况下使用享元模式?
*  如果业务中存在需要缓存的地方 那么这个时候就可以使用享元模式
*   内部状态 就是相当于map缓存的对象 不会随着外部状态的变化而变化。
*   外部状态  相当于外部传进来的参数 会随着外部状态的变化而变化。

*
* 3:享元模式有什么好处?
*    可以节省资源的开销 减少资源的占用

*
* */
